www.gusucode.com > 基于VBLAST-OFDM的MATLAB SIMULATION,图形化界面,并且给出了各仿真图 > 基于VBLAST-OFDM的MATLAB SIMULATION,图形化界面,并且给出了各仿真图/vblast-ofdm simulation/single_packet.m

    function [inf_bits_cnt, inf_bit_errs, raw_bits_cnt, raw_bit_errs] = single_packet(SimulationParameters,SNR)

% Generate channel impulse response
cir = get_channel_ir(SimulationParameters);

% Generate tx signal, returns also information bits and raw bits
[txsignal,tx_inf_bits, tx_raw_bits] = transmitter(SimulationParameters);

% Channel model
rxsignal = channel(txsignal, cir, SimulationParameters,SNR);

%Receiver, return data bits and undecoded bits
[rx_inf_bits rx_raw_bits] = receiver(rxsignal, cir, SimulationParameters);

% Calculate bit errors
if SimulationParameters.VBLAST~=1
    raw_bit_errs = sum(abs(rx_raw_bits(1:length(tx_raw_bits))-tx_raw_bits));
    raw_bits_cnt = length(tx_raw_bits);
    
    inf_bit_errs = sum(abs(rx_inf_bits(1:length(tx_inf_bits))-tx_inf_bits));
    inf_bits_cnt = length(tx_inf_bits);
else %for vblast
    inf_bit_errs=0.0001;
    inf_bits_cnt=1;
    
    raw_bit_errs = sum(abs(rx_raw_bits(1:length(tx_raw_bits))-tx_raw_bits));
    raw_bits_cnt = length(tx_raw_bits);
end